﻿#region using statements

using Microsoft.Xna.Framework;

#endregion

namespace NGen.Managers.Collision
{
	/// <summary>
	/// 	Interface object must inherit if needed to be tested for collisions
	/// </summary>
	public interface ICollidable2D
	{
		#region properties

		/// <summary>
		/// 	Get or set the bounding box for the object implementing this property.
		/// 	This should only be set once and should be created with the min = (0, 0, 0).
		/// </summary>
		BoundingBox BoundingBox { get; set; }

		#endregion

		#region local methods

		/// <summary>
		/// 	This method is called by the Collision Manager when there is a collision
		/// 	between the object being called and the object whose Id is being passed in.
		/// </summary>
		/// <param name = "p_objectCollidedWith">The id of the object that has a collision
		/// 	with the current game object
		/// </param>
		void Collided(CollisionMessage2D p_objectCollidedWith);

		#endregion
	}
}